জেএসপি (JSP) তে কাস্টম ট্যাগ তৈরি এবং ব্যবহার করার মাধ্যমে আপনি HTML টেমপ্লেটের ভিতরে জাভা কোডের ব্যবহারকে আরও সহজ এবং শক্তিশালী করতে পারেন। কাস্টম ট্যাগ জেএসপি পেজে পুনরায় ব্যবহারের জন্য কিছু কার্যকলাপ বা লজিক কস্টমাইজডভাবে তৈরি করে দিতে সাহায্য করে। কাস্টম ট্যাগ তৈরির জন্য জেএসপি ট্যাগ লাইব্রেরি (JSP Tag Library) ব্যবহার করা হয়, যা সাধারণত JSP Standard Tag Library (JSTL) বা Custom Tags হিসেবে পরিচিত।
কাস্টম ট্যাগ তৈরি করার প্রক্রিয়া
১. ট্যাগ ক্লাস তৈরি করা
প্রথমে আপনাকে একটি Java ক্লাস তৈরি করতে হবে যা আপনার কাস্টম ট্যাগের লজিক সংরক্ষণ করবে। এই ক্লাসটি SimpleTagSupport বা TagSupport শ্রেণী থেকে এক্সটেন্ড করতে হবে।
এখানে একটি সাধারণ কাস্টম ট্যাগের ক্লাসের উদাহরণ দেওয়া হলো:
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import java.io.IOException;
public class MyCustomTag extends TagSupport {
private String message;
public void setMessage(String message) {
this.message = message;
}
@Override
public int doStartTag() throws JspException {
try {
pageContext.getOut().write("কাস্টম ট্যাগ মেসেজ: " + message);
} catch (IOException e) {
throw new JspException("Error in MyCustomTag", e);
}
return SKIP_BODY;
}
}
এখানে, setMessage মেথডটি কাস্টম ট্যাগের message অ্যাট্রিবিউট সেট করার জন্য ব্যবহৃত হচ্ছে এবং doStartTag মেথডটি কাস্টম ট্যাগের জন্য কন্টেন্ট রেন্ডার করার জন্য ব্যবহৃত হচ্ছে। pageContext.getOut().write() মেথড ব্যবহার করে আমরা কাস্টম ট্যাগের আউটপুট ব্রাউজারে পাঠাচ্ছি।
২. ট্যাগ লাইব্রেরি ডেসক্রিপশন ফাইল (TLD) তৈরি করা
ট্যাগ লাইব্রেরি ডেসক্রিপশন ফাইল (TLD) হল একটি XML ফাইল যেখানে আপনার কাস্টম ট্যাগ সম্পর্কে তথ্য সংরক্ষিত থাকে। এই ফাইলটিতে আপনার তৈরি করা ট্যাগের নাম এবং ক্লাসের নাম সংজ্ঞায়িত করতে হবে।
/WEB-INF ফোল্ডারে একটি mytags.tld নামক TLD ফাইল তৈরি করুন এবং এর মধ্যে নিম্নলিখিত কনফিগারেশন যোগ করুন:
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tag>
<name>myTag</name>
<tag-class>com.example.MyCustomTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>message</name>
<required>true</required>
</attribute>
</tag>
</taglib>
এখানে:
<name>ট্যাগের নামকে নির্দেশ করে যা জেএসপি পেজে ব্যবহৃত হবে।<tag-class>কাস্টম ট্যাগের ক্লাসের নাম নির্দেশ করে।<body-content>ট্যাগের শরীর কেমন হবে তা সংজ্ঞায়িত করে (এখানেemptyমানে শরীর থাকবে না)।<attribute>ট্যাগের অ্যাট্রিবিউটের নাম এবং সেটির প্রয়োজনীয়তা সংজ্ঞায়িত করে।
৩. JSP পেজে কাস্টম ট্যাগ ব্যবহার করা
একবার কাস্টম ট্যাগ তৈরি হলে এবং TLD ফাইল কনফিগার করা হলে, আপনি আপনার জেএসপি পেজে কাস্টম ট্যাগ ব্যবহার করতে পারবেন। প্রথমে, আপনি taglib ডিরেকটিভ ব্যবহার করে ট্যাগ লাইব্রেরি ইনক্লুড করতে হবে:
<%@ taglib prefix="custom" uri="/WEB-INF/mytags.tld" %>
এখানে, prefix="custom" দ্বারা আপনি ট্যাগের নামের আগে যে প্রিফিক্স ব্যবহার করবেন তা নির্ধারণ করছেন। এরপর, আপনি ট্যাগ ব্যবহার করতে পারেন:
<custom:myTag message="স্বাগতম, জেএসপি!" />
এখানে message অ্যাট্রিবিউটটি MyCustomTag ক্লাসের setMessage মেথডে পাস করা হবে, এবং ট্যাগের আউটপুট হিসাবে "কাস্টম ট্যাগ মেসেজ: স্বাগতম, জেএসপি!" প্রদর্শিত হবে।
সারাংশ
কাস্টম ট্যাগ তৈরি করা এবং ব্যবহার করা জেএসপি অ্যাপ্লিকেশনে অনেক কার্যকরী হতে পারে। এটি ডেভেলপারদের পুনরায় ব্যবহারের জন্য কাস্টম লজিক তৈরি করতে এবং ওয়েব পেজের মধ্যে জাভা কোডের উপস্থিতি কমাতে সাহায্য করে। ট্যাগ ক্লাস তৈরি করা, TLD ফাইল কনফিগার করা এবং জেএসপি পেজে ট্যাগ ব্যবহার করার মাধ্যমে আপনি কাস্টম ট্যাগ তৈরি ও ব্যবহার করতে পারবেন।
Read more